package org.helyx.gae.getabike.model;

import org.helyx.gae.getabike.localization.Point;



public class Station {
	
	private String name;
	
	private int number;
	
	private String address;
	
	private String fullAddress;
	
	private String zipCode;
	
	private String city;
	
	private boolean open;
	
	private boolean hasLocalization;
	
	private Point localization;
	
	private boolean bonus;
	
	private boolean tpe;
	
	private double distance = Double.MAX_VALUE;
	
	private StationDetails details;

	public Station() {
		super();
	}	

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getNumber() {
		return number;
	}

	public void setNumber(int number) {
		this.number = number;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public String getFullAddress() {
		return fullAddress;
	}

	public void setFullAddress(String fullAddress) {
		this.fullAddress = fullAddress;
	}

	public String getZipCode() {
		return zipCode;
	}

	public void setZipCode(String zipCode) {
		this.zipCode = zipCode;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public boolean isOpen() {
		return open;
	}

	public void setOpen(boolean open) {
		this.open = open;
	}

	public boolean isHasLocalization() {
		return hasLocalization;
	}

	public void setHasLocalization(boolean hasLocalization) {
		this.hasLocalization = hasLocalization;
	}

	public Point getLocalization() {
		return localization;
	}

	public void setLocalization(Point localization) {
		this.localization = localization;
	}

	public boolean isBonus() {
		return bonus;
	}

	public void setBonus(boolean bonus) {
		this.bonus = bonus;
	}

	public boolean isTpe() {
		return tpe;
	}

	public void setTpe(boolean tpe) {
		this.tpe = tpe;
	}

	public double getDistance() {
		return distance;
	}

	public void setDistance(double distance) {
		this.distance = distance;
	}

	public StationDetails getDetails() {
		return details;
	}

	public void setDetails(StationDetails details) {
		this.details = details;
	}

	public String toString() {
		StringBuffer sb = new StringBuffer("[Station]")
		.append(" name=").append(name)
		.append(", number=").append(number)
		.append(", address=").append(address)
		.append(", fullAddress=").append(fullAddress)
		.append(", zipCode=").append(zipCode)
		.append(", city=").append(city)
		.append(", open=").append(open)
		.append(", bonus=").append(bonus)
		.append(", tpe=").append(tpe)
		.append(", hasLocalization=").append(hasLocalization)
		.append(", localization=").append(localization);
		
		if (details != null) {
			sb.append(", details=").append(details);
		}

		return sb.toString();
	}

}
